
   

The VBA Code lines for Integer part was readily available that I got from somewhere.
The code was uploaded in 2012 by someone...thanks to him and even after number of years the fractional value result was not added to this module so I have decided to develop it further.
It is free for use and perfectly running with MS Access 2016. I didnt test on earlier versions of Access.

SINCE READING THE VALUES IN ARABIC IS NOT LIKE ENGLISH THEREFORE,
I HAVE MENTIONED BELOW 4 MAIN RULES IN A BRIEF NOTE ABOUT READING ARABIC FRACTIONAL VALUE:

1. In Arabic Language, When 01 Halala Appears After Decimal Then The Word Waahed (Means 'One') Is Not Mentioned
Instead It Mention As Halaala Only That Means Itself One Single Halala.

2. Simillary When 02 Halaala Appears After Decimal Then The Word 'Itnaan' (Means 'Two') Is Not Mentioned Instead it Mention As Halaalain (means 2 Halala) Only That Means Itself Two Halalas.

3. For Decimal Value From 03 To 09, The Word Mentioned As 'Halalaat' is used. For 2 Fractional Digits Like 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80 & 0.90 The Word Is Set As Ashra, Ashroon, Talaathun..... 

4. And So On For The Fractional Part As 'Halalas Only'
And At Last, For Decimal Value from 11-19, 21-29, 31-39.....91-99 And So On, Has Been Set As 'Halalas Only'

You Might Have Understood, How Reading Is Different In Arabic Than Other Language. Anyways. 
 
USAGE:

Option -1
Copy the form and module into your MS Access db, compile the code and test it

Option -1 
- Open your own MS Access Database copy all the VBA code written in module M_NumToArabicWords into a standard module of your Access db, compile and save it. 
- I have used 2 textboxes in sample database form.. Say Textbox1 and Textbox2- One for inputting actual value and second text box will display Arabic Words.
- Simply create After Update event on text box wherein you enter amount and copy below line 
   Me.TextBox2 = SFormatNumber([TextBox1]) & " " & CountDecimals([TextBox1])

- Finally, run the form and input value in textbox1 and press enter. The result should appear in other text box.

I have tested it by entering up to 12 digits value + 2 decimal value and found it working perfectly.
Incase, anyone face difficulties let me know.

BEFOR USING THIS MODULE, MAKE SURE FOLLOWINGS:

- Your PC must be Arabic or required language enabled
- If your VBA Editor not able to read An Arabic fonts and producing something like "CE?? ?O? C?? ?I???C?E" then 


1.	install keyboard of 102key from Control Panel--> Regional & Language --> Keyboard & Languages --> Change Keyboards--> Add --? then Select Algerian, French & Saudi Arabian Keyboard 102 (All 3). This Is What I Did.

 2. If your VBA editor doesnt recognize Arabic Words and produces????, then select then Control Panel-->Regional Language--. Administravtive ---> Change Custome Locale
--> Current System Lacale to Sauid Arabia.. 

3. Also you need to change Location from  Control Panel--> Regional & Language --> Location --> Current Location...Change this one to Saudi Arabia. 

 
- Copy this full VBA code lines to WORD document, save it and then from copy all code from WORD document and  then place it in standard MS Access vba module, compile, save it -  In Sha Allah, It Should Work.

Still facing problem in VBA editor for Arabic script, take support of IT guys.

GOOD LUCK...

Ashfaque Hussain
ashfaque_online@yahoo.com
Nanded, India
January 24, 2021

